This application is based on Japanese Patent Application No. 9-145253, filed Jun. 3, 1997, the content of which is incorporated herein by reference.
The present invention relates to a computer system and a processing speed control method therefor and, more particularly, to a computer system that can variably control the Central Processing Unit processing speed so as to realize a power management function and a CPU processing speed control method used in the system.
Recently, various types of notebook personal computers which can be easily carried and operate on batteries have been developed. Various types of power saving functions are provided for such personal computers. The principal object of these power saving functions is to reduce the consumption of battery power so as to prolong the operating time. To save power consumption, the CPU processing speed is decreased.
With the recent improvement in the performance of microprocessors, the power consumption continues to increase. In portable computers, therefore, serious problems are posed in terms of heat dissipation measures for the microprocessors. For this reason, to reduce the power consumption by decreasing the CPU processing speed is important as a measure to prevent an excessive rise in the temperature of a microprocessor or the like.
In conventional CPU processing speed control techniques, when a CPU or a peripheral unit stops significant processing and waits for an event to take place, the clock rate is decreased or the supply of power is stopped to reduce the power consumption. Many such techniques have been known as described below.
(1) U.S. Pat. No. 4,137,563: Heat dissipation is suppressed by intermittently outputting minimum clock pulses necessary to operate a unit standing by.
(2) U.S. Pat. No. 4,381,552: The supply of clocks to the CPU and memory of the portable electronic device is stopped in an inoperative state.
(3) U.S. Pat. No. 4,851,897: The CPU clock is stopped while waiting for a key input or interruption. The supply of clocks to the I/O is not stopped. In general the processor waits for a long period of time in an idle loop. With this operation, therefore, the power consumption decreases, and the battery life can be greatly extended.
(4) U.S. Pat. No. 5,142,684: The low-speed second CPU with low power consumption is used to monitor the state of the system during an idle time. In this period, the power supply for the high-speed CPU is turned off. This high-speed CPU selects the clock rate in accordance with the task to be executed.
(5) U.S. Pat. No. 5,222,239: The clock frequency of the CPU is decreased when high system performance is not required.
(6) U.S. Pat. No. 5,452,401: The clocks to a plurality of units on one chip are turned on/off very quickly in accordance with the operation states of the units, thereby saving power and suppressing generation of heat.
(7) U.S. Pat. No. 5,560,017: The frequency of the system clock is decreased by the BIOS software while an event is waited for.
Various techniques have also been known for monitoring the temperature of a CPU and reducing the power consumption when the temperature is at a predetermined value or more. Furthermore, techniques, in combination with the above techniques, have been known for uniformly setting a CPU's processing speed as a user's choice without taking account of the details of the contents of the process performed by the CPU, such as the one which permits a user to alternately set a high performance mode and a power saving mode.
All these techniques only decrease the processing speed irrespective of the type of the software in execution, but have no mechanism for reflecting user's expectations and intentions with regard to the respective processing speeds of the individual software.
More specifically, the CPU processing speed cannot be dynamically changed at a user's wish while the user is working with the computer. These techniques cannot therefore meet user's requirements, e.g., giving higher priority to the processing speed than power saving in accordance with the contents of the currently executed task or decreasing the CPU processing speed in tasks other than specific tasks to prolong the life of the battery.
The conventional technique of decreasing the operating speed of the CPU by decreasing the clock rate is effective in extending the battery life. It should be noted, however, that this technique does not decrease the energy required for the execution of a given task.
Even if the clock rate of the CPU is decreased, there is no trade-off between the time required for the execution of a given task and the energy required therefor. In consideration of the power consumed by a CMOS logic circuit, the energy consumed by the CMOS logic circuit is proportional to the number of execution clocks/cycles in terms of linear approximation, but is not proportional to the execution time. Even if, therefore, the clock rate is changed, the amount of energy required to complete a given task remains the same as long as the number of clocks required to complete the task remains the same.